 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKCdn/CdnModel.h>

@implementation Action
-(id) initWithAtOp:(NSNumber*) atOp
      atVal:(NSString*)atVal { 
     self.atOp = atOp;               
     self.atVal = atVal;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self atOp])
    {
        [result setValue:[self atOp] forKey:@"atOp"];
    }
    if([self atVal])
    {
        [result setValue:[self atVal] forKey:@"atVal"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.atOp = [dictionary objectForKey:@"atOp"];
    self.atVal = [dictionary objectForKey:@"atVal"];
    return self;
}
 @end
@implementation WafRegionsModel
-(id) initWithValue:(NSString*) value
      label:(NSString*)label { 
     self.value = value;               
     self.label = label;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    if([self label])
    {
        [result setValue:[self label] forKey:@"label"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.value = [dictionary objectForKey:@"value"];
    self.label = [dictionary objectForKey:@"label"];
    return self;
}
 @end
@implementation WafWhiteRuleModel
-(id) initWithId:(NSString*) idValue
      matchOp:(NSNumber*)matchOp
      val:(NSString*)val
      valZh:(NSString*)valZh
      enable:(NSNumber*)enable
      actions:(NSArray<NSString*>*)actions
      updateTime:(NSString*)updateTime { 
     self.idValue = idValue;               
     self.matchOp = matchOp;               
     self.val = val;               
     self.valZh = valZh;               
     self.enable = enable;               
     self.actions = actions;               
     self.updateTime = updateTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self matchOp])
    {
        [result setValue:[self matchOp] forKey:@"matchOp"];
    }
    if([self val])
    {
        [result setValue:[self val] forKey:@"val"];
    }
    if([self valZh])
    {
        [result setValue:[self valZh] forKey:@"valZh"];
    }
    if([self enable])
    {
        [result setValue:[self enable] forKey:@"enable"];
    }
    if([self actions])
    {
        [result setValue:[self actions] forKey:@"actions"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.matchOp = [dictionary objectForKey:@"matchOp"];
    self.val = [dictionary objectForKey:@"val"];
    self.valZh = [dictionary objectForKey:@"valZh"];
    self.enable = [dictionary objectForKey:@"enable"];
    self.actions = [dictionary objectForKey:@"actions"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    return self;
}
 @end
@implementation WafCCProtectRuleModel
-(id) initWithTotal:(NSNumber*) total
      data:(NSArray<NSObject*>*)data { 
     self.total = total;               
     self.data = data;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self total])
    {
        [result setValue:[self total] forKey:@"total"];
    }
    if([self data])
    {
        [result setValue:[self data] forKey:@"data"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.total = [dictionary objectForKey:@"total"];
    self.data = [dictionary objectForKey:@"data"];
    return self;
}
 @end
@implementation AttackDetail
-(id) initWithRequestId:(NSString*) requestId
      ip:(NSString*)ip
      area:(NSString*)area
      flow:(NSString*)flow
      timeUtc:(NSString*)timeUtc
      method:(NSString*)method
      url:(NSString*)url
      attackType:(NSString*)attackType
      action:(NSString*)action { 
     self.requestId = requestId;               
     self.ip = ip;               
     self.area = area;               
     self.flow = flow;               
     self.timeUtc = timeUtc;               
     self.method = method;               
     self.url = url;               
     self.attackType = attackType;               
     self.action = action;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    }
    if([self ip])
    {
        [result setValue:[self ip] forKey:@"ip"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self timeUtc])
    {
        [result setValue:[self timeUtc] forKey:@"timeUtc"];
    }
    if([self method])
    {
        [result setValue:[self method] forKey:@"method"];
    }
    if([self url])
    {
        [result setValue:[self url] forKey:@"url"];
    }
    if([self attackType])
    {
        [result setValue:[self attackType] forKey:@"attackType"];
    }
    if([self action])
    {
        [result setValue:[self action] forKey:@"action"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.requestId = [dictionary objectForKey:@"requestId"];
    self.ip = [dictionary objectForKey:@"ip"];
    self.area = [dictionary objectForKey:@"area"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.timeUtc = [dictionary objectForKey:@"timeUtc"];
    self.method = [dictionary objectForKey:@"method"];
    self.url = [dictionary objectForKey:@"url"];
    self.attackType = [dictionary objectForKey:@"attackType"];
    self.action = [dictionary objectForKey:@"action"];
    return self;
}
 @end
@implementation PvItem
-(id) initWithTimeUtc:(NSString*) timeUtc
      totalPv:(NSNumber*)totalPv
      attackPv:(NSNumber*)attackPv { 
     self.timeUtc = timeUtc;               
     self.totalPv = totalPv;               
     self.attackPv = attackPv;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self timeUtc])
    {
        [result setValue:[self timeUtc] forKey:@"timeUtc"];
    }
    if([self totalPv])
    {
        [result setValue:[self totalPv] forKey:@"totalPv"];
    }
    if([self attackPv])
    {
        [result setValue:[self attackPv] forKey:@"attackPv"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.timeUtc = [dictionary objectForKey:@"timeUtc"];
    self.totalPv = [dictionary objectForKey:@"totalPv"];
    self.attackPv = [dictionary objectForKey:@"attackPv"];
    return self;
}
 @end
@implementation IpData
-(id) initWithIp:(NSString*) ip
      pv:(NSNumber*)pv { 
     self.ip = ip;               
     self.pv = pv;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ip])
    {
        [result setValue:[self ip] forKey:@"ip"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ip = [dictionary objectForKey:@"ip"];
    self.pv = [dictionary objectForKey:@"pv"];
    return self;
}
 @end
@implementation DomainlogModel
-(id) initWithLogUrl:(NSString*) logUrl
      logSize:(NSNumber*)logSize
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      md5:(NSString*)md5 { 
     self.logUrl = logUrl;               
     self.logSize = logSize;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.md5 = md5;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self logUrl])
    {
        [result setValue:[self logUrl] forKey:@"logUrl"];
    }
    if([self logSize])
    {
        [result setValue:[self logSize] forKey:@"logSize"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self md5])
    {
        [result setValue:[self md5] forKey:@"md5"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.logUrl = [dictionary objectForKey:@"logUrl"];
    self.logSize = [dictionary objectForKey:@"logSize"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.md5 = [dictionary objectForKey:@"md5"];
    return self;
}
 @end
@implementation UserLogInfoModel
-(id) initWithDomain:(NSString*) domain
      logFileFullPath:(NSString*)logFileFullPath
      interval:(NSString*)interval
      logType:(NSString*)logType
      logSize:(NSNumber*)logSize
      logMD5:(NSString*)logMD5
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime { 
     self.domain = domain;               
     self.logFileFullPath = logFileFullPath;               
     self.interval = interval;               
     self.logType = logType;               
     self.logSize = logSize;               
     self.logMD5 = logMD5;               
     self.startTime = startTime;               
     self.endTime = endTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self logFileFullPath])
    {
        [result setValue:[self logFileFullPath] forKey:@"logFileFullPath"];
    }
    if([self interval])
    {
        [result setValue:[self interval] forKey:@"interval"];
    }
    if([self logType])
    {
        [result setValue:[self logType] forKey:@"logType"];
    }
    if([self logSize])
    {
        [result setValue:[self logSize] forKey:@"logSize"];
    }
    if([self logMD5])
    {
        [result setValue:[self logMD5] forKey:@"logMD5"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.logFileFullPath = [dictionary objectForKey:@"logFileFullPath"];
    self.interval = [dictionary objectForKey:@"interval"];
    self.logType = [dictionary objectForKey:@"logType"];
    self.logSize = [dictionary objectForKey:@"logSize"];
    self.logMD5 = [dictionary objectForKey:@"logMD5"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    return self;
}
 @end
@implementation QueryLivePrefetchItem
-(id) initWithStream:(NSString*) stream
      code:(NSNumber*)code
      message:(NSString*)message { 
     self.stream = stream;               
     self.code = code;               
     self.message = message;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self stream])
    {
        [result setValue:[self stream] forKey:@"stream"];
    }
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self message])
    {
        [result setValue:[self message] forKey:@"message"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.stream = [dictionary objectForKey:@"stream"];
    self.code = [dictionary objectForKey:@"code"];
    self.message = [dictionary objectForKey:@"message"];
    return self;
}
 @end
@implementation StreamHistoryInfoForYY
-(id) initWithStartTime:(NSString*) startTime
      endTime:(NSString*)endTime
      avgupspeed:(NSNumber*)avgupspeed
      avgupframerate:(NSNumber*)avgupframerate
      pushEdgeNodeIps:(NSArray<NSString*>*)pushEdgeNodeIps
      anchorIps:(NSArray<NSString*>*)anchorIps
      flvBandWidth:(NSNumber*)flvBandWidth
      flvPlayerCount:(NSNumber*)flvPlayerCount
      hlsBandWidth:(NSNumber*)hlsBandWidth
      hlsPlayerCount:(NSNumber*)hlsPlayerCount { 
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.avgupspeed = avgupspeed;               
     self.avgupframerate = avgupframerate;               
     self.pushEdgeNodeIps = pushEdgeNodeIps;               
     self.anchorIps = anchorIps;               
     self.flvBandWidth = flvBandWidth;               
     self.flvPlayerCount = flvPlayerCount;               
     self.hlsBandWidth = hlsBandWidth;               
     self.hlsPlayerCount = hlsPlayerCount;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self avgupspeed])
    {
        [result setValue:[self avgupspeed] forKey:@"avgupspeed"];
    }
    if([self avgupframerate])
    {
        [result setValue:[self avgupframerate] forKey:@"avgupframerate"];
    }
    if([self pushEdgeNodeIps])
    {
        [result setValue:[self pushEdgeNodeIps] forKey:@"pushEdgeNodeIps"];
    }
    if([self anchorIps])
    {
        [result setValue:[self anchorIps] forKey:@"anchorIps"];
    }
    if([self flvBandWidth])
    {
        [result setValue:[self flvBandWidth] forKey:@"flvBandWidth"];
    }
    if([self flvPlayerCount])
    {
        [result setValue:[self flvPlayerCount] forKey:@"flvPlayerCount"];
    }
    if([self hlsBandWidth])
    {
        [result setValue:[self hlsBandWidth] forKey:@"hlsBandWidth"];
    }
    if([self hlsPlayerCount])
    {
        [result setValue:[self hlsPlayerCount] forKey:@"hlsPlayerCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.avgupspeed = [dictionary objectForKey:@"avgupspeed"];
    self.avgupframerate = [dictionary objectForKey:@"avgupframerate"];
    self.pushEdgeNodeIps = [dictionary objectForKey:@"pushEdgeNodeIps"];
    self.anchorIps = [dictionary objectForKey:@"anchorIps"];
    self.flvBandWidth = [dictionary objectForKey:@"flvBandWidth"];
    self.flvPlayerCount = [dictionary objectForKey:@"flvPlayerCount"];
    self.hlsBandWidth = [dictionary objectForKey:@"hlsBandWidth"];
    self.hlsPlayerCount = [dictionary objectForKey:@"hlsPlayerCount"];
    return self;
}
 @end
@implementation StreamRankingForYY
-(id) initWithStreamName:(NSString*) streamName
      ranking:(NSNumber*)ranking
      playerCount:(NSNumber*)playerCount { 
     self.streamName = streamName;               
     self.ranking = ranking;               
     self.playerCount = playerCount;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self streamName])
    {
        [result setValue:[self streamName] forKey:@"streamName"];
    }
    if([self ranking])
    {
        [result setValue:[self ranking] forKey:@"ranking"];
    }
    if([self playerCount])
    {
        [result setValue:[self playerCount] forKey:@"playerCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.streamName = [dictionary objectForKey:@"streamName"];
    self.ranking = [dictionary objectForKey:@"ranking"];
    self.playerCount = [dictionary objectForKey:@"playerCount"];
    return self;
}
 @end
@implementation AttackLogRecord
-(id) initWithAttackTraffic:(NSNumber*) attackTraffic
      attackType:(NSArray<NSString*>*)attackType
      blackHole:(NSNumber*)blackHole
      endTime:(NSString*)endTime
      pin:(NSString*)pin
      startTime:(NSString*)startTime
      unit:(NSString*)unit { 
     self.attackTraffic = attackTraffic;               
     self.attackType = attackType;               
     self.blackHole = blackHole;               
     self.endTime = endTime;               
     self.pin = pin;               
     self.startTime = startTime;               
     self.unit = unit;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self attackTraffic])
    {
        [result setValue:[self attackTraffic] forKey:@"attackTraffic"];
    }
    if([self attackType])
    {
        [result setValue:[self attackType] forKey:@"attackType"];
    }
    if([self blackHole])
    {
        [result setValue:[self blackHole] forKey:@"blackHole"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self unit])
    {
        [result setValue:[self unit] forKey:@"unit"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.attackTraffic = [dictionary objectForKey:@"attackTraffic"];
    self.attackType = [dictionary objectForKey:@"attackType"];
    self.blackHole = [dictionary objectForKey:@"blackHole"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.unit = [dictionary objectForKey:@"unit"];
    return self;
}
 @end
@implementation ProtectData
-(id) initWithPostProtect:(NSNumber*) postProtect
      preProtect:(NSNumber*)preProtect
      timeStamp:(NSNumber*)timeStamp
      timeUtc:(NSString*)timeUtc { 
     self.postProtect = postProtect;               
     self.preProtect = preProtect;               
     self.timeStamp = timeStamp;               
     self.timeUtc = timeUtc;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self postProtect])
    {
        [result setValue:[self postProtect] forKey:@"postProtect"];
    }
    if([self preProtect])
    {
        [result setValue:[self preProtect] forKey:@"preProtect"];
    }
    if([self timeStamp])
    {
        [result setValue:[self timeStamp] forKey:@"timeStamp"];
    }
    if([self timeUtc])
    {
        [result setValue:[self timeUtc] forKey:@"timeUtc"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.postProtect = [dictionary objectForKey:@"postProtect"];
    self.preProtect = [dictionary objectForKey:@"preProtect"];
    self.timeStamp = [dictionary objectForKey:@"timeStamp"];
    self.timeUtc = [dictionary objectForKey:@"timeUtc"];
    return self;
}
 @end
@implementation AttackTypeCount
-(id) initWithAttackCount:(NSNumber*) attackCount
      attackType:(NSString*)attackType { 
     self.attackCount = attackCount;               
     self.attackType = attackType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self attackCount])
    {
        [result setValue:[self attackCount] forKey:@"attackCount"];
    }
    if([self attackType])
    {
        [result setValue:[self attackType] forKey:@"attackType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.attackCount = [dictionary objectForKey:@"attackCount"];
    self.attackType = [dictionary objectForKey:@"attackType"];
    return self;
}
 @end
@implementation CheckWhetherIpBelongToJCloudItem
-(id) initWithIp:(NSString*) ip
      belongToJCloud:(NSNumber*)belongToJCloud
      country:(NSString*)country
      province:(NSString*)province
      isp:(NSString*)isp { 
     self.ip = ip;               
     self.belongToJCloud = belongToJCloud;               
     self.country = country;               
     self.province = province;               
     self.isp = isp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ip])
    {
        [result setValue:[self ip] forKey:@"ip"];
    }
    if([self belongToJCloud])
    {
        [result setValue:[self belongToJCloud] forKey:@"belongToJCloud"];
    }
    if([self country])
    {
        [result setValue:[self country] forKey:@"country"];
    }
    if([self province])
    {
        [result setValue:[self province] forKey:@"province"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ip = [dictionary objectForKey:@"ip"];
    self.belongToJCloud = [dictionary objectForKey:@"belongToJCloud"];
    self.country = [dictionary objectForKey:@"country"];
    self.province = [dictionary objectForKey:@"province"];
    self.isp = [dictionary objectForKey:@"isp"];
    return self;
}
 @end
@implementation DomainBandTrafficDataItem
-(id) initWithStartTimeStamp:(NSString*) startTimeStamp
      endTimeStamp:(NSString*)endTimeStamp
      avgbandwidth:(NSNumber*)avgbandwidth
      flow:(NSNumber*)flow
      pv:(NSNumber*)pv { 
     self.startTimeStamp = startTimeStamp;               
     self.endTimeStamp = endTimeStamp;               
     self.avgbandwidth = avgbandwidth;               
     self.flow = flow;               
     self.pv = pv;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTimeStamp])
    {
        [result setValue:[self startTimeStamp] forKey:@"startTimeStamp"];
    }
    if([self endTimeStamp])
    {
        [result setValue:[self endTimeStamp] forKey:@"endTimeStamp"];
    }
    if([self avgbandwidth])
    {
        [result setValue:[self avgbandwidth] forKey:@"avgbandwidth"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTimeStamp = [dictionary objectForKey:@"startTimeStamp"];
    self.endTimeStamp = [dictionary objectForKey:@"endTimeStamp"];
    self.avgbandwidth = [dictionary objectForKey:@"avgbandwidth"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.pv = [dictionary objectForKey:@"pv"];
    return self;
}
 @end
@implementation DomainBandAreaTrafficDataItem
-(id) initWithStartTimeStamp:(NSString*) startTimeStamp
      endTimeStamp:(NSString*)endTimeStamp
      avgbandwidth:(NSNumber*)avgbandwidth
      flow:(NSNumber*)flow
      pv:(NSNumber*)pv
      area:(NSString*)area
      isp:(NSString*)isp { 
     self.startTimeStamp = startTimeStamp;               
     self.endTimeStamp = endTimeStamp;               
     self.avgbandwidth = avgbandwidth;               
     self.flow = flow;               
     self.pv = pv;               
     self.area = area;               
     self.isp = isp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTimeStamp])
    {
        [result setValue:[self startTimeStamp] forKey:@"startTimeStamp"];
    }
    if([self endTimeStamp])
    {
        [result setValue:[self endTimeStamp] forKey:@"endTimeStamp"];
    }
    if([self avgbandwidth])
    {
        [result setValue:[self avgbandwidth] forKey:@"avgbandwidth"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTimeStamp = [dictionary objectForKey:@"startTimeStamp"];
    self.endTimeStamp = [dictionary objectForKey:@"endTimeStamp"];
    self.avgbandwidth = [dictionary objectForKey:@"avgbandwidth"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    return self;
}
 @end
@implementation SnowLeopardIpSourceInfo
-(id) initWithMaster:(NSNumber*) master
      ip:(NSString*)ip
      ratio:(NSNumber*)ratio
      isp:(NSString*)isp { 
     self.master = master;               
     self.ip = ip;               
     self.ratio = ratio;               
     self.isp = isp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self master])
    {
        [result setValue:[self master] forKey:@"master"];
    }
    if([self ip])
    {
        [result setValue:[self ip] forKey:@"ip"];
    }
    if([self ratio])
    {
        [result setValue:[self ratio] forKey:@"ratio"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.master = [dictionary objectForKey:@"master"];
    self.ip = [dictionary objectForKey:@"ip"];
    self.ratio = [dictionary objectForKey:@"ratio"];
    self.isp = [dictionary objectForKey:@"isp"];
    return self;
}
 @end
@implementation DeleteStream
-(id) initWithStream:(NSString*) stream
      app:(NSString*)app
      publishIp:(NSString*)publishIp { 
     self.stream = stream;               
     self.app = app;               
     self.publishIp = publishIp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self stream])
    {
        [result setValue:[self stream] forKey:@"stream"];
    }
    if([self app])
    {
        [result setValue:[self app] forKey:@"app"];
    }
    if([self publishIp])
    {
        [result setValue:[self publishIp] forKey:@"publishIp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.stream = [dictionary objectForKey:@"stream"];
    self.app = [dictionary objectForKey:@"app"];
    self.publishIp = [dictionary objectForKey:@"publishIp"];
    return self;
}
 @end
@implementation SimpleGroupItem
-(id) initWithName:(NSString*) name
      idValue:(NSNumber*)idValue { 
     self.name = name;               
     self.idValue = idValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.idValue = [dictionary objectForKey:@"id"];
    return self;
}
 @end
@implementation ExtraCacheTime
-(id) initWithHttpCode:(NSString*) httpCode
      cacheTime:(NSNumber*)cacheTime { 
     self.httpCode = httpCode;               
     self.cacheTime = cacheTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self httpCode])
    {
        [result setValue:[self httpCode] forKey:@"httpCode"];
    }
    if([self cacheTime])
    {
        [result setValue:[self cacheTime] forKey:@"cacheTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.httpCode = [dictionary objectForKey:@"httpCode"];
    self.cacheTime = [dictionary objectForKey:@"cacheTime"];
    return self;
}
 @end
@implementation QueryHttpHeaderResp
-(id) initWithHeaderType:(NSString*) headerType
      headerName:(NSString*)headerName
      headerValue:(NSString*)headerValue
      headerOp:(NSString*)headerOp { 
     self.headerType = headerType;               
     self.headerName = headerName;               
     self.headerValue = headerValue;               
     self.headerOp = headerOp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self headerType])
    {
        [result setValue:[self headerType] forKey:@"headerType"];
    }
    if([self headerName])
    {
        [result setValue:[self headerName] forKey:@"headerName"];
    }
    if([self headerValue])
    {
        [result setValue:[self headerValue] forKey:@"headerValue"];
    }
    if([self headerOp])
    {
        [result setValue:[self headerOp] forKey:@"headerOp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.headerType = [dictionary objectForKey:@"headerType"];
    self.headerName = [dictionary objectForKey:@"headerName"];
    self.headerValue = [dictionary objectForKey:@"headerValue"];
    self.headerOp = [dictionary objectForKey:@"headerOp"];
    return self;
}
 @end
@implementation UrlTask
-(id) initWithTaskType:(NSString*) taskType
      url:(NSString*)url
      status:(NSString*)status { 
     self.taskType = taskType;               
     self.url = url;               
     self.status = status;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self taskType])
    {
        [result setValue:[self taskType] forKey:@"taskType"];
    }
    if([self url])
    {
        [result setValue:[self url] forKey:@"url"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskType = [dictionary objectForKey:@"taskType"];
    self.url = [dictionary objectForKey:@"url"];
    self.status = [dictionary objectForKey:@"status"];
    return self;
}
 @end
@implementation Tag
-(id) initWithKey:(NSString*) key
      value:(NSString*)value { 
     self.key = key;               
     self.value = value;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.key = [dictionary objectForKey:@"key"];
    self.value = [dictionary objectForKey:@"value"];
    return self;
}
 @end
@implementation RelatedDomains
-(id) initWithDomainName:(NSString*) domainName
      domainType:(NSString*)domainType
      rtmpUrls:(NSArray<NSString*>*)rtmpUrls
      flvUrls:(NSArray<NSString*>*)flvUrls
      hlsUrls:(NSArray<NSString*>*)hlsUrls { 
     self.domainName = domainName;               
     self.domainType = domainType;               
     self.rtmpUrls = rtmpUrls;               
     self.flvUrls = flvUrls;               
     self.hlsUrls = hlsUrls;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domainName])
    {
        [result setValue:[self domainName] forKey:@"domainName"];
    }
    if([self domainType])
    {
        [result setValue:[self domainType] forKey:@"domainType"];
    }
    if([self rtmpUrls])
    {
        [result setValue:[self rtmpUrls] forKey:@"rtmpUrls"];
    }
    if([self flvUrls])
    {
        [result setValue:[self flvUrls] forKey:@"flvUrls"];
    }
    if([self hlsUrls])
    {
        [result setValue:[self hlsUrls] forKey:@"hlsUrls"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domainName = [dictionary objectForKey:@"domainName"];
    self.domainType = [dictionary objectForKey:@"domainType"];
    self.rtmpUrls = [dictionary objectForKey:@"rtmpUrls"];
    self.flvUrls = [dictionary objectForKey:@"flvUrls"];
    self.hlsUrls = [dictionary objectForKey:@"hlsUrls"];
    return self;
}
 @end
@implementation Domain
-(id) initWithDomainValue:(NSString*) domainValue
      status:(NSString*)status { 
     self.domainValue = domainValue;               
     self.status = status;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domainValue])
    {
        [result setValue:[self domainValue] forKey:@"domain"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domainValue = [dictionary objectForKey:@"domain"];
    self.status = [dictionary objectForKey:@"status"];
    return self;
}
 @end
@implementation ListDomainItem
-(id) initWithCname:(NSString*) cname
      descriptionValue:(NSString*)descriptionValue
      domain:(NSString*)domain
      created:(NSString*)created
      modified:(NSString*)modified
      status:(NSString*)status
      wafStatus:(NSString*)wafStatus
      type:(NSString*)type
      auditStatus:(NSString*)auditStatus
      accelerateRegion:(NSString*)accelerateRegion { 
     self.cname = cname;               
     self.descriptionValue = descriptionValue;               
     self.domain = domain;               
     self.created = created;               
     self.modified = modified;               
     self.status = status;               
     self.wafStatus = wafStatus;               
     self.type = type;               
     self.auditStatus = auditStatus;               
     self.accelerateRegion = accelerateRegion;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cname])
    {
        [result setValue:[self cname] forKey:@"cname"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self created])
    {
        [result setValue:[self created] forKey:@"created"];
    }
    if([self modified])
    {
        [result setValue:[self modified] forKey:@"modified"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self wafStatus])
    {
        [result setValue:[self wafStatus] forKey:@"wafStatus"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self auditStatus])
    {
        [result setValue:[self auditStatus] forKey:@"auditStatus"];
    }
    if([self accelerateRegion])
    {
        [result setValue:[self accelerateRegion] forKey:@"accelerateRegion"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cname = [dictionary objectForKey:@"cname"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.created = [dictionary objectForKey:@"created"];
    self.modified = [dictionary objectForKey:@"modified"];
    self.status = [dictionary objectForKey:@"status"];
    self.wafStatus = [dictionary objectForKey:@"wafStatus"];
    self.type = [dictionary objectForKey:@"type"];
    self.auditStatus = [dictionary objectForKey:@"auditStatus"];
    self.accelerateRegion = [dictionary objectForKey:@"accelerateRegion"];
    return self;
}
 @end
@implementation DomainSourceInfo
-(id) initWithPriority:(NSNumber*) priority
      sourceHost:(NSString*)sourceHost
      domain:(NSString*)domain { 
     self.priority = priority;               
     self.sourceHost = sourceHost;               
     self.domain = domain;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self priority])
    {
        [result setValue:[self priority] forKey:@"priority"];
    }
    if([self sourceHost])
    {
        [result setValue:[self sourceHost] forKey:@"sourceHost"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.priority = [dictionary objectForKey:@"priority"];
    self.sourceHost = [dictionary objectForKey:@"sourceHost"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
}
 @end
@implementation SnowLeopardDomainSourceInfo
-(id) initWithPriority:(NSNumber*) priority
      sourceHost:(NSString*)sourceHost
      domain:(NSString*)domain { 
     self.priority = priority;               
     self.sourceHost = sourceHost;               
     self.domain = domain;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self priority])
    {
        [result setValue:[self priority] forKey:@"priority"];
    }
    if([self sourceHost])
    {
        [result setValue:[self sourceHost] forKey:@"sourceHost"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.priority = [dictionary objectForKey:@"priority"];
    self.sourceHost = [dictionary objectForKey:@"sourceHost"];
    self.domain = [dictionary objectForKey:@"domain"];
    return self;
}
 @end
@implementation ForbiddenStreamHistoryItem
-(id) initWithStream:(NSString*) stream
      app:(NSString*)app
      publishIp:(NSString*)publishIp
      forbiddenType:(NSString*)forbiddenType
      ttl:(NSNumber*)ttl
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      forbiddenTypeDesc:(NSString*)forbiddenTypeDesc { 
     self.stream = stream;               
     self.app = app;               
     self.publishIp = publishIp;               
     self.forbiddenType = forbiddenType;               
     self.ttl = ttl;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.forbiddenTypeDesc = forbiddenTypeDesc;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self stream])
    {
        [result setValue:[self stream] forKey:@"stream"];
    }
    if([self app])
    {
        [result setValue:[self app] forKey:@"app"];
    }
    if([self publishIp])
    {
        [result setValue:[self publishIp] forKey:@"publishIp"];
    }
    if([self forbiddenType])
    {
        [result setValue:[self forbiddenType] forKey:@"forbiddenType"];
    }
    if([self ttl])
    {
        [result setValue:[self ttl] forKey:@"ttl"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self forbiddenTypeDesc])
    {
        [result setValue:[self forbiddenTypeDesc] forKey:@"forbiddenTypeDesc"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.stream = [dictionary objectForKey:@"stream"];
    self.app = [dictionary objectForKey:@"app"];
    self.publishIp = [dictionary objectForKey:@"publishIp"];
    self.forbiddenType = [dictionary objectForKey:@"forbiddenType"];
    self.ttl = [dictionary objectForKey:@"ttl"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.forbiddenTypeDesc = [dictionary objectForKey:@"forbiddenTypeDesc"];
    return self;
}
 @end
@implementation CdnTagFilter
-(id) initWithKey:(NSString*) key
      values:(NSArray<NSString*>*)values { 
     self.key = key;               
     self.values = values;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self values])
    {
        [result setValue:[self values] forKey:@"values"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.key = [dictionary objectForKey:@"key"];
    self.values = [dictionary objectForKey:@"values"];
    return self;
}
 @end
@implementation CacheRule
-(id) initWithWeight:(NSNumber*) weight
      ttl:(NSNumber*)ttl
      contents:(NSString*)contents
      createTime:(NSString*)createTime
      updateTime:(NSString*)updateTime
      cacheType:(NSString*)cacheType { 
     self.weight = weight;               
     self.ttl = ttl;               
     self.contents = contents;               
     self.createTime = createTime;               
     self.updateTime = updateTime;               
     self.cacheType = cacheType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self weight])
    {
        [result setValue:[self weight] forKey:@"weight"];
    }
    if([self ttl])
    {
        [result setValue:[self ttl] forKey:@"ttl"];
    }
    if([self contents])
    {
        [result setValue:[self contents] forKey:@"contents"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    if([self cacheType])
    {
        [result setValue:[self cacheType] forKey:@"cacheType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.weight = [dictionary objectForKey:@"weight"];
    self.ttl = [dictionary objectForKey:@"ttl"];
    self.contents = [dictionary objectForKey:@"contents"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    self.cacheType = [dictionary objectForKey:@"cacheType"];
    return self;
}
 @end
@implementation ForbiddenStream
-(id) initWithStream:(NSString*) stream
      app:(NSString*)app
      publishIp:(NSString*)publishIp
      forbiddenType:(NSString*)forbiddenType
      ttl:(NSNumber*)ttl
      forbiddenTypeDesc:(NSString*)forbiddenTypeDesc
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime { 
     self.stream = stream;               
     self.app = app;               
     self.publishIp = publishIp;               
     self.forbiddenType = forbiddenType;               
     self.ttl = ttl;               
     self.forbiddenTypeDesc = forbiddenTypeDesc;               
     self.startTime = startTime;               
     self.endTime = endTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self stream])
    {
        [result setValue:[self stream] forKey:@"stream"];
    }
    if([self app])
    {
        [result setValue:[self app] forKey:@"app"];
    }
    if([self publishIp])
    {
        [result setValue:[self publishIp] forKey:@"publishIp"];
    }
    if([self forbiddenType])
    {
        [result setValue:[self forbiddenType] forKey:@"forbiddenType"];
    }
    if([self ttl])
    {
        [result setValue:[self ttl] forKey:@"ttl"];
    }
    if([self forbiddenTypeDesc])
    {
        [result setValue:[self forbiddenTypeDesc] forKey:@"forbiddenTypeDesc"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.stream = [dictionary objectForKey:@"stream"];
    self.app = [dictionary objectForKey:@"app"];
    self.publishIp = [dictionary objectForKey:@"publishIp"];
    self.forbiddenType = [dictionary objectForKey:@"forbiddenType"];
    self.ttl = [dictionary objectForKey:@"ttl"];
    self.forbiddenTypeDesc = [dictionary objectForKey:@"forbiddenTypeDesc"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    return self;
}
 @end
@implementation UrlItemV2
-(id) initWithUrl:(NSString*) url
      urlId:(NSString*)urlId
      callbackUrl:(NSString*)callbackUrl { 
     self.url = url;               
     self.urlId = urlId;               
     self.callbackUrl = callbackUrl;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self url])
    {
        [result setValue:[self url] forKey:@"url"];
    }
    if([self urlId])
    {
        [result setValue:[self urlId] forKey:@"urlId"];
    }
    if([self callbackUrl])
    {
        [result setValue:[self callbackUrl] forKey:@"callbackUrl"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.url = [dictionary objectForKey:@"url"];
    self.urlId = [dictionary objectForKey:@"urlId"];
    self.callbackUrl = [dictionary objectForKey:@"callbackUrl"];
    return self;
}
 @end
@implementation ProtocolConvert
-(id) initWithSourceProtocol:(NSString*) sourceProtocol
      targetProtocol:(NSString*)targetProtocol { 
     self.sourceProtocol = sourceProtocol;               
     self.targetProtocol = targetProtocol;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self sourceProtocol])
    {
        [result setValue:[self sourceProtocol] forKey:@"sourceProtocol"];
    }
    if([self targetProtocol])
    {
        [result setValue:[self targetProtocol] forKey:@"targetProtocol"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sourceProtocol = [dictionary objectForKey:@"sourceProtocol"];
    self.targetProtocol = [dictionary objectForKey:@"targetProtocol"];
    return self;
}
 @end
@implementation UrlItem
-(id) initWithUrl:(NSString*) url
      urlId:(NSNumber*)urlId { 
     self.url = url;               
     self.urlId = urlId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self url])
    {
        [result setValue:[self url] forKey:@"url"];
    }
    if([self urlId])
    {
        [result setValue:[self urlId] forKey:@"urlId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.url = [dictionary objectForKey:@"url"];
    self.urlId = [dictionary objectForKey:@"urlId"];
    return self;
}
 @end
@implementation FeeDomain
-(id) initWithDomain:(NSString*) domain
      feeType:(NSNumber*)feeType { 
     self.domain = domain;               
     self.feeType = feeType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self feeType])
    {
        [result setValue:[self feeType] forKey:@"feeType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.feeType = [dictionary objectForKey:@"feeType"];
    return self;
}
 @end
@implementation DomainGroupItem
-(id) initWithDomains:(NSArray<NSString*>*) domains
      primaryDomain:(NSString*)primaryDomain
      shareCache:(NSString*)shareCache
      domainGroupName:(NSString*)domainGroupName { 
     self.domains = domains;               
     self.primaryDomain = primaryDomain;               
     self.shareCache = shareCache;               
     self.domainGroupName = domainGroupName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domains])
    {
        [result setValue:[self domains] forKey:@"domains"];
    }
    if([self primaryDomain])
    {
        [result setValue:[self primaryDomain] forKey:@"primaryDomain"];
    }
    if([self shareCache])
    {
        [result setValue:[self shareCache] forKey:@"shareCache"];
    }
    if([self domainGroupName])
    {
        [result setValue:[self domainGroupName] forKey:@"domainGroupName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domains = [dictionary objectForKey:@"domains"];
    self.primaryDomain = [dictionary objectForKey:@"primaryDomain"];
    self.shareCache = [dictionary objectForKey:@"shareCache"];
    self.domainGroupName = [dictionary objectForKey:@"domainGroupName"];
    return self;
}
 @end
@implementation IpSourceInfo
-(id) initWithMaster:(NSNumber*) master
      ip:(NSString*)ip
      ratio:(NSNumber*)ratio { 
     self.master = master;               
     self.ip = ip;               
     self.ratio = ratio;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self master])
    {
        [result setValue:[self master] forKey:@"master"];
    }
    if([self ip])
    {
        [result setValue:[self ip] forKey:@"ip"];
    }
    if([self ratio])
    {
        [result setValue:[self ratio] forKey:@"ratio"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.master = [dictionary objectForKey:@"master"];
    self.ip = [dictionary objectForKey:@"ip"];
    self.ratio = [dictionary objectForKey:@"ratio"];
    return self;
}
 @end
@implementation StatisticsWithAreaGroupDetailItem
-(id) initWithArea:(NSString*) area
      ispStat:(NSArray<NSMutableDictionary<NSString*,NSString*>*>*)ispStat { 
     self.area = area;               
     self.ispStat = ispStat;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self ispStat])
    {
        [result setValue:[self ispStat] forKey:@"ispStat"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.area = [dictionary objectForKey:@"area"];
    self.ispStat = [dictionary objectForKey:@"ispStat"];
    return self;
}
 @end
@implementation DomainLog
-(id) initWithUrl:(NSString*) url
      md5:(NSString*)md5
      fileName:(NSString*)fileName
      size:(NSNumber*)size
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime { 
     self.url = url;               
     self.md5 = md5;               
     self.fileName = fileName;               
     self.size = size;               
     self.startTime = startTime;               
     self.endTime = endTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self url])
    {
        [result setValue:[self url] forKey:@"url"];
    }
    if([self md5])
    {
        [result setValue:[self md5] forKey:@"md5"];
    }
    if([self fileName])
    {
        [result setValue:[self fileName] forKey:@"fileName"];
    }
    if([self size])
    {
        [result setValue:[self size] forKey:@"size"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.url = [dictionary objectForKey:@"url"];
    self.md5 = [dictionary objectForKey:@"md5"];
    self.fileName = [dictionary objectForKey:@"fileName"];
    self.size = [dictionary objectForKey:@"size"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    return self;
}
 @end
@implementation StatisticsTopIpItem
-(id) initWithIp:(NSString*) ip
      rank:(NSNumber*)rank
      value:(NSNumber*)value
      fullValue:(NSMutableDictionary<NSString*,NSString*>*)fullValue { 
     self.ip = ip;               
     self.rank = rank;               
     self.value = value;               
     self.fullValue = fullValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ip])
    {
        [result setValue:[self ip] forKey:@"ip"];
    }
    if([self rank])
    {
        [result setValue:[self rank] forKey:@"rank"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    if([self fullValue])
    {
        [result setValue:[self fullValue] forKey:@"fullValue"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ip = [dictionary objectForKey:@"ip"];
    self.rank = [dictionary objectForKey:@"rank"];
    self.value = [dictionary objectForKey:@"value"];
    self.fullValue = [dictionary objectForKey:@"fullValue"];
    return self;
}
 @end
@implementation StatisticsDataItem
-(id) initWithStartTime:(NSString*) startTime
      endTime:(NSString*)endTime
      data:(NSMutableDictionary<NSString*,NSString*>*)data { 
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.data = data;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self data])
    {
        [result setValue:[self data] forKey:@"data"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.data = [dictionary objectForKey:@"data"];
    return self;
}
 @end
@implementation StatisticsTopUrlItem
-(id) initWithUrl:(NSString*) url
      rank:(NSNumber*)rank
      value:(NSNumber*)value
      fullValue:(NSMutableDictionary<NSString*,NSString*>*)fullValue { 
     self.url = url;               
     self.rank = rank;               
     self.value = value;               
     self.fullValue = fullValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self url])
    {
        [result setValue:[self url] forKey:@"url"];
    }
    if([self rank])
    {
        [result setValue:[self rank] forKey:@"rank"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    if([self fullValue])
    {
        [result setValue:[self fullValue] forKey:@"fullValue"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.url = [dictionary objectForKey:@"url"];
    self.rank = [dictionary objectForKey:@"rank"];
    self.value = [dictionary objectForKey:@"value"];
    self.fullValue = [dictionary objectForKey:@"fullValue"];
    return self;
}
 @end
@implementation StatisticsGroupSumDataItem
-(id) initWithStartTime:(NSString*) startTime
      endTime:(NSString*)endTime
      data:(NSMutableDictionary<NSString*,NSString*>*)data { 
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.data = data;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self data])
    {
        [result setValue:[self data] forKey:@"data"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.data = [dictionary objectForKey:@"data"];
    return self;
}
 @end
@implementation SslCertModel
-(id) initWithSslCertId:(NSString*) sslCertId
      certName:(NSString*)certName
      commonName:(NSString*)commonName
      certType:(NSString*)certType
      sslCertStartTime:(NSString*)sslCertStartTime
      sslCertEndTime:(NSString*)sslCertEndTime
      deletable:(NSNumber*)deletable
      digest:(NSString*)digest
      relatedDomains:(NSArray<NSString*>*)relatedDomains { 
     self.sslCertId = sslCertId;               
     self.certName = certName;               
     self.commonName = commonName;               
     self.certType = certType;               
     self.sslCertStartTime = sslCertStartTime;               
     self.sslCertEndTime = sslCertEndTime;               
     self.deletable = deletable;               
     self.digest = digest;               
     self.relatedDomains = relatedDomains;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self sslCertId])
    {
        [result setValue:[self sslCertId] forKey:@"sslCertId"];
    }
    if([self certName])
    {
        [result setValue:[self certName] forKey:@"certName"];
    }
    if([self commonName])
    {
        [result setValue:[self commonName] forKey:@"commonName"];
    }
    if([self certType])
    {
        [result setValue:[self certType] forKey:@"certType"];
    }
    if([self sslCertStartTime])
    {
        [result setValue:[self sslCertStartTime] forKey:@"sslCertStartTime"];
    }
    if([self sslCertEndTime])
    {
        [result setValue:[self sslCertEndTime] forKey:@"sslCertEndTime"];
    }
    if([self deletable])
    {
        [result setValue:[self deletable] forKey:@"deletable"];
    }
    if([self digest])
    {
        [result setValue:[self digest] forKey:@"digest"];
    }
    if([self relatedDomains])
    {
        [result setValue:[self relatedDomains] forKey:@"relatedDomains"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sslCertId = [dictionary objectForKey:@"sslCertId"];
    self.certName = [dictionary objectForKey:@"certName"];
    self.commonName = [dictionary objectForKey:@"commonName"];
    self.certType = [dictionary objectForKey:@"certType"];
    self.sslCertStartTime = [dictionary objectForKey:@"sslCertStartTime"];
    self.sslCertEndTime = [dictionary objectForKey:@"sslCertEndTime"];
    self.deletable = [dictionary objectForKey:@"deletable"];
    self.digest = [dictionary objectForKey:@"digest"];
    self.relatedDomains = [dictionary objectForKey:@"relatedDomains"];
    return self;
}
 @end
@implementation OriflowTopItem
-(id) initWithName:(NSString*) name
      oriflow:(NSNumber*)oriflow
      hitflow:(NSNumber*)hitflow
      flow:(NSNumber*)flow
      flowPercent:(NSString*)flowPercent { 
     self.name = name;               
     self.oriflow = oriflow;               
     self.hitflow = hitflow;               
     self.flow = flow;               
     self.flowPercent = flowPercent;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self oriflow])
    {
        [result setValue:[self oriflow] forKey:@"oriflow"];
    }
    if([self hitflow])
    {
        [result setValue:[self hitflow] forKey:@"hitflow"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self flowPercent])
    {
        [result setValue:[self flowPercent] forKey:@"flowPercent"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.oriflow = [dictionary objectForKey:@"oriflow"];
    self.hitflow = [dictionary objectForKey:@"hitflow"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.flowPercent = [dictionary objectForKey:@"flowPercent"];
    return self;
}
 @end
@implementation StreamTableItem
-(id) initWithTopTimeStamp:(NSNumber*) topTimeStamp
      avgbandwidth:(NSNumber*)avgbandwidth
      flow:(NSNumber*)flow
      pv:(NSNumber*)pv
      streamName:(NSString*)streamName { 
     self.topTimeStamp = topTimeStamp;               
     self.avgbandwidth = avgbandwidth;               
     self.flow = flow;               
     self.pv = pv;               
     self.streamName = streamName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self topTimeStamp])
    {
        [result setValue:[self topTimeStamp] forKey:@"topTimeStamp"];
    }
    if([self avgbandwidth])
    {
        [result setValue:[self avgbandwidth] forKey:@"avgbandwidth"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self streamName])
    {
        [result setValue:[self streamName] forKey:@"streamName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topTimeStamp = [dictionary objectForKey:@"topTimeStamp"];
    self.avgbandwidth = [dictionary objectForKey:@"avgbandwidth"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.streamName = [dictionary objectForKey:@"streamName"];
    return self;
}
 @end
@implementation TopUrlItem
-(id) initWithUrl:(NSString*) url
      rank:(NSNumber*)rank
      flow:(NSNumber*)flow
      flowUnit:(NSString*)flowUnit
      flowPercent:(NSString*)flowPercent
      pv:(NSNumber*)pv
      pvUnit:(NSString*)pvUnit
      pvPercent:(NSString*)pvPercent
      uv:(NSNumber*)uv
      uvUnit:(NSString*)uvUnit
      uvPercent:(NSString*)uvPercent { 
     self.url = url;               
     self.rank = rank;               
     self.flow = flow;               
     self.flowUnit = flowUnit;               
     self.flowPercent = flowPercent;               
     self.pv = pv;               
     self.pvUnit = pvUnit;               
     self.pvPercent = pvPercent;               
     self.uv = uv;               
     self.uvUnit = uvUnit;               
     self.uvPercent = uvPercent;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self url])
    {
        [result setValue:[self url] forKey:@"url"];
    }
    if([self rank])
    {
        [result setValue:[self rank] forKey:@"rank"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self flowUnit])
    {
        [result setValue:[self flowUnit] forKey:@"flowUnit"];
    }
    if([self flowPercent])
    {
        [result setValue:[self flowPercent] forKey:@"flowPercent"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self pvUnit])
    {
        [result setValue:[self pvUnit] forKey:@"pvUnit"];
    }
    if([self pvPercent])
    {
        [result setValue:[self pvPercent] forKey:@"pvPercent"];
    }
    if([self uv])
    {
        [result setValue:[self uv] forKey:@"uv"];
    }
    if([self uvUnit])
    {
        [result setValue:[self uvUnit] forKey:@"uvUnit"];
    }
    if([self uvPercent])
    {
        [result setValue:[self uvPercent] forKey:@"uvPercent"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.url = [dictionary objectForKey:@"url"];
    self.rank = [dictionary objectForKey:@"rank"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.flowUnit = [dictionary objectForKey:@"flowUnit"];
    self.flowPercent = [dictionary objectForKey:@"flowPercent"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.pvUnit = [dictionary objectForKey:@"pvUnit"];
    self.pvPercent = [dictionary objectForKey:@"pvPercent"];
    self.uv = [dictionary objectForKey:@"uv"];
    self.uvUnit = [dictionary objectForKey:@"uvUnit"];
    self.uvPercent = [dictionary objectForKey:@"uvPercent"];
    return self;
}
 @end
@implementation TopNRespItemDetail
-(id) initWithTimeStamp:(NSNumber*) timeStamp
      data:(NSNumber*)data { 
     self.timeStamp = timeStamp;               
     self.data = data;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self timeStamp])
    {
        [result setValue:[self timeStamp] forKey:@"timeStamp"];
    }
    if([self data])
    {
        [result setValue:[self data] forKey:@"data"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.timeStamp = [dictionary objectForKey:@"timeStamp"];
    self.data = [dictionary objectForKey:@"data"];
    return self;
}
 @end
@implementation AvgspeedItem
-(id) initWithArea:(NSString*) area
      avgspeed:(NSNumber*)avgspeed
      avgspeedUnit:(NSString*)avgspeedUnit
      firstpkgtime:(NSNumber*)firstpkgtime
      firstpkgtimeUnit:(NSString*)firstpkgtimeUnit
      errorRatio:(NSNumber*)errorRatio
      flow:(NSNumber*)flow
      flowUnit:(NSString*)flowUnit
      flowPercent:(NSNumber*)flowPercent
      pv:(NSNumber*)pv
      hitRatio:(NSNumber*)hitRatio { 
     self.area = area;               
     self.avgspeed = avgspeed;               
     self.avgspeedUnit = avgspeedUnit;               
     self.firstpkgtime = firstpkgtime;               
     self.firstpkgtimeUnit = firstpkgtimeUnit;               
     self.errorRatio = errorRatio;               
     self.flow = flow;               
     self.flowUnit = flowUnit;               
     self.flowPercent = flowPercent;               
     self.pv = pv;               
     self.hitRatio = hitRatio;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self avgspeed])
    {
        [result setValue:[self avgspeed] forKey:@"avgspeed"];
    }
    if([self avgspeedUnit])
    {
        [result setValue:[self avgspeedUnit] forKey:@"avgspeedUnit"];
    }
    if([self firstpkgtime])
    {
        [result setValue:[self firstpkgtime] forKey:@"firstpkgtime"];
    }
    if([self firstpkgtimeUnit])
    {
        [result setValue:[self firstpkgtimeUnit] forKey:@"firstpkgtimeUnit"];
    }
    if([self errorRatio])
    {
        [result setValue:[self errorRatio] forKey:@"errorRatio"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self flowUnit])
    {
        [result setValue:[self flowUnit] forKey:@"flowUnit"];
    }
    if([self flowPercent])
    {
        [result setValue:[self flowPercent] forKey:@"flowPercent"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self hitRatio])
    {
        [result setValue:[self hitRatio] forKey:@"hitRatio"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.area = [dictionary objectForKey:@"area"];
    self.avgspeed = [dictionary objectForKey:@"avgspeed"];
    self.avgspeedUnit = [dictionary objectForKey:@"avgspeedUnit"];
    self.firstpkgtime = [dictionary objectForKey:@"firstpkgtime"];
    self.firstpkgtimeUnit = [dictionary objectForKey:@"firstpkgtimeUnit"];
    self.errorRatio = [dictionary objectForKey:@"errorRatio"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.flowUnit = [dictionary objectForKey:@"flowUnit"];
    self.flowPercent = [dictionary objectForKey:@"flowPercent"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.hitRatio = [dictionary objectForKey:@"hitRatio"];
    return self;
}
 @end
@implementation HitRatioDiagramItem
-(id) initWithFlowRatio:(NSNumber*) flowRatio
      reqRatio:(NSNumber*)reqRatio
      timeStamp:(NSNumber*)timeStamp { 
     self.flowRatio = flowRatio;               
     self.reqRatio = reqRatio;               
     self.timeStamp = timeStamp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self flowRatio])
    {
        [result setValue:[self flowRatio] forKey:@"flowRatio"];
    }
    if([self reqRatio])
    {
        [result setValue:[self reqRatio] forKey:@"reqRatio"];
    }
    if([self timeStamp])
    {
        [result setValue:[self timeStamp] forKey:@"timeStamp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.flowRatio = [dictionary objectForKey:@"flowRatio"];
    self.reqRatio = [dictionary objectForKey:@"reqRatio"];
    self.timeStamp = [dictionary objectForKey:@"timeStamp"];
    return self;
}
 @end
@implementation AreaIspbdwItem
-(id) initWithArea:(NSString*) area
      isp:(NSString*)isp
      name:(NSString*)name
      flowPercent:(NSString*)flowPercent
      pvPercent:(NSString*)pvPercent
      avgbandwidth:(NSNumber*)avgbandwidth
      flow:(NSNumber*)flow
      pv:(NSNumber*)pv
      topTimeStamp:(NSNumber*)topTimeStamp { 
     self.area = area;               
     self.isp = isp;               
     self.name = name;               
     self.flowPercent = flowPercent;               
     self.pvPercent = pvPercent;               
     self.avgbandwidth = avgbandwidth;               
     self.flow = flow;               
     self.pv = pv;               
     self.topTimeStamp = topTimeStamp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self flowPercent])
    {
        [result setValue:[self flowPercent] forKey:@"flowPercent"];
    }
    if([self pvPercent])
    {
        [result setValue:[self pvPercent] forKey:@"pvPercent"];
    }
    if([self avgbandwidth])
    {
        [result setValue:[self avgbandwidth] forKey:@"avgbandwidth"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self topTimeStamp])
    {
        [result setValue:[self topTimeStamp] forKey:@"topTimeStamp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.name = [dictionary objectForKey:@"name"];
    self.flowPercent = [dictionary objectForKey:@"flowPercent"];
    self.pvPercent = [dictionary objectForKey:@"pvPercent"];
    self.avgbandwidth = [dictionary objectForKey:@"avgbandwidth"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.topTimeStamp = [dictionary objectForKey:@"topTimeStamp"];
    return self;
}
 @end
@implementation OverviewTrafficTotal
-(id) initWithAvgbandwidth:(NSNumber*) avgbandwidth
      flow:(NSNumber*)flow
      pv:(NSNumber*)pv
      topTimeStamp:(NSNumber*)topTimeStamp { 
     self.avgbandwidth = avgbandwidth;               
     self.flow = flow;               
     self.pv = pv;               
     self.topTimeStamp = topTimeStamp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self avgbandwidth])
    {
        [result setValue:[self avgbandwidth] forKey:@"avgbandwidth"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self topTimeStamp])
    {
        [result setValue:[self topTimeStamp] forKey:@"topTimeStamp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.avgbandwidth = [dictionary objectForKey:@"avgbandwidth"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.topTimeStamp = [dictionary objectForKey:@"topTimeStamp"];
    return self;
}
 @end
@implementation OridbwTableItem
-(id) initWithGroupByname:(NSString*) groupByname
      domainTyep:(NSString*)domainTyep
      oriflowPercent:(NSString*)oriflowPercent
      oripvPercent:(NSString*)oripvPercent
      avgbandwidth:(NSNumber*)avgbandwidth
      avgoribandwidth:(NSNumber*)avgoribandwidth
      oriTopTimeStamp:(NSNumber*)oriTopTimeStamp
      pv:(NSNumber*)pv
      oripv:(NSNumber*)oripv
      flow:(NSNumber*)flow
      oriflow:(NSNumber*)oriflow { 
     self.groupByname = groupByname;               
     self.domainTyep = domainTyep;               
     self.oriflowPercent = oriflowPercent;               
     self.oripvPercent = oripvPercent;               
     self.avgbandwidth = avgbandwidth;               
     self.avgoribandwidth = avgoribandwidth;               
     self.oriTopTimeStamp = oriTopTimeStamp;               
     self.pv = pv;               
     self.oripv = oripv;               
     self.flow = flow;               
     self.oriflow = oriflow;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self groupByname])
    {
        [result setValue:[self groupByname] forKey:@"groupByname"];
    }
    if([self domainTyep])
    {
        [result setValue:[self domainTyep] forKey:@"domainTyep"];
    }
    if([self oriflowPercent])
    {
        [result setValue:[self oriflowPercent] forKey:@"oriflowPercent"];
    }
    if([self oripvPercent])
    {
        [result setValue:[self oripvPercent] forKey:@"oripvPercent"];
    }
    if([self avgbandwidth])
    {
        [result setValue:[self avgbandwidth] forKey:@"avgbandwidth"];
    }
    if([self avgoribandwidth])
    {
        [result setValue:[self avgoribandwidth] forKey:@"avgoribandwidth"];
    }
    if([self oriTopTimeStamp])
    {
        [result setValue:[self oriTopTimeStamp] forKey:@"oriTopTimeStamp"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self oripv])
    {
        [result setValue:[self oripv] forKey:@"oripv"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self oriflow])
    {
        [result setValue:[self oriflow] forKey:@"oriflow"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.groupByname = [dictionary objectForKey:@"groupByname"];
    self.domainTyep = [dictionary objectForKey:@"domainTyep"];
    self.oriflowPercent = [dictionary objectForKey:@"oriflowPercent"];
    self.oripvPercent = [dictionary objectForKey:@"oripvPercent"];
    self.avgbandwidth = [dictionary objectForKey:@"avgbandwidth"];
    self.avgoribandwidth = [dictionary objectForKey:@"avgoribandwidth"];
    self.oriTopTimeStamp = [dictionary objectForKey:@"oriTopTimeStamp"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.oripv = [dictionary objectForKey:@"oripv"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.oriflow = [dictionary objectForKey:@"oriflow"];
    return self;
}
 @end
@implementation PushStreamInfoItem
-(id) initWithApp:(NSString*) app
      stream:(NSString*)stream
      clientIp:(NSString*)clientIp
      nodeIp:(NSString*)nodeIp
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      duration:(NSNumber*)duration { 
     self.app = app;               
     self.stream = stream;               
     self.clientIp = clientIp;               
     self.nodeIp = nodeIp;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.duration = duration;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self app])
    {
        [result setValue:[self app] forKey:@"app"];
    }
    if([self stream])
    {
        [result setValue:[self stream] forKey:@"stream"];
    }
    if([self clientIp])
    {
        [result setValue:[self clientIp] forKey:@"clientIp"];
    }
    if([self nodeIp])
    {
        [result setValue:[self nodeIp] forKey:@"nodeIp"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self duration])
    {
        [result setValue:[self duration] forKey:@"duration"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.app = [dictionary objectForKey:@"app"];
    self.stream = [dictionary objectForKey:@"stream"];
    self.clientIp = [dictionary objectForKey:@"clientIp"];
    self.nodeIp = [dictionary objectForKey:@"nodeIp"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.duration = [dictionary objectForKey:@"duration"];
    return self;
}
 @end
@implementation DomainbdwItem
-(id) initWithDomain:(NSString*) domain
      domainType:(NSString*)domainType
      topTimeStamp:(NSNumber*)topTimeStamp
      pv:(NSNumber*)pv
      flow:(NSNumber*)flow
      avgbandwidth:(NSNumber*)avgbandwidth { 
     self.domain = domain;               
     self.domainType = domainType;               
     self.topTimeStamp = topTimeStamp;               
     self.pv = pv;               
     self.flow = flow;               
     self.avgbandwidth = avgbandwidth;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self domainType])
    {
        [result setValue:[self domainType] forKey:@"domainType"];
    }
    if([self topTimeStamp])
    {
        [result setValue:[self topTimeStamp] forKey:@"topTimeStamp"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self avgbandwidth])
    {
        [result setValue:[self avgbandwidth] forKey:@"avgbandwidth"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.domainType = [dictionary objectForKey:@"domainType"];
    self.topTimeStamp = [dictionary objectForKey:@"topTimeStamp"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.avgbandwidth = [dictionary objectForKey:@"avgbandwidth"];
    return self;
}
 @end
@implementation StreamDiagramItem
-(id) initWithTimeStamp:(NSNumber*) timeStamp
      data:(NSObject*)data { 
     self.timeStamp = timeStamp;               
     self.data = data;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self timeStamp])
    {
        [result setValue:[self timeStamp] forKey:@"timeStamp"];
    }
    if([self data])
    {
        [result setValue:[self data] forKey:@"data"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.timeStamp = [dictionary objectForKey:@"timeStamp"];
    self.data = [dictionary objectForKey:@"data"];
    return self;
}
 @end
@implementation CodeTypeDetailItem
-(id) initWithCode:(NSString*) code
      count:(NSNumber*)count
      rank:(NSNumber*)rank
      percent:(NSString*)percent { 
     self.code = code;               
     self.count = count;               
     self.rank = rank;               
     self.percent = percent;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self count])
    {
        [result setValue:[self count] forKey:@"count"];
    }
    if([self rank])
    {
        [result setValue:[self rank] forKey:@"rank"];
    }
    if([self percent])
    {
        [result setValue:[self percent] forKey:@"percent"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.code = [dictionary objectForKey:@"code"];
    self.count = [dictionary objectForKey:@"count"];
    self.rank = [dictionary objectForKey:@"rank"];
    self.percent = [dictionary objectForKey:@"percent"];
    return self;
}
 @end
@implementation CodeDetailItem
-(id) initWithTimeStamp:(NSNumber*) timeStamp
      ok:(NSNumber*)ok
      badGateway:(NSNumber*)badGateway
      badRequest:(NSNumber*)badRequest
      forbidden:(NSNumber*)forbidden
      found:(NSNumber*)found
      gatewayTimeout:(NSNumber*)gatewayTimeout
      internalServerError:(NSNumber*)internalServerError
      movedPermanently:(NSNumber*)movedPermanently
      notFound:(NSNumber*)notFound
      notModified:(NSNumber*)notModified
      partialContent:(NSNumber*)partialContent
      requestedRangeNotSuitable:(NSNumber*)requestedRangeNotSuitable
      other:(NSNumber*)other
      serviceUnavailable:(NSNumber*)serviceUnavailable { 
     self.timeStamp = timeStamp;               
     self.ok = ok;               
     self.badGateway = badGateway;               
     self.badRequest = badRequest;               
     self.forbidden = forbidden;               
     self.found = found;               
     self.gatewayTimeout = gatewayTimeout;               
     self.internalServerError = internalServerError;               
     self.movedPermanently = movedPermanently;               
     self.notFound = notFound;               
     self.notModified = notModified;               
     self.partialContent = partialContent;               
     self.requestedRangeNotSuitable = requestedRangeNotSuitable;               
     self.other = other;               
     self.serviceUnavailable = serviceUnavailable;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self timeStamp])
    {
        [result setValue:[self timeStamp] forKey:@"timeStamp"];
    }
    if([self ok])
    {
        [result setValue:[self ok] forKey:@"ok"];
    }
    if([self badGateway])
    {
        [result setValue:[self badGateway] forKey:@"badGateway"];
    }
    if([self badRequest])
    {
        [result setValue:[self badRequest] forKey:@"badRequest"];
    }
    if([self forbidden])
    {
        [result setValue:[self forbidden] forKey:@"forbidden"];
    }
    if([self found])
    {
        [result setValue:[self found] forKey:@"found"];
    }
    if([self gatewayTimeout])
    {
        [result setValue:[self gatewayTimeout] forKey:@"gatewayTimeout"];
    }
    if([self internalServerError])
    {
        [result setValue:[self internalServerError] forKey:@"internalServerError"];
    }
    if([self movedPermanently])
    {
        [result setValue:[self movedPermanently] forKey:@"movedPermanently"];
    }
    if([self notFound])
    {
        [result setValue:[self notFound] forKey:@"notFound"];
    }
    if([self notModified])
    {
        [result setValue:[self notModified] forKey:@"notModified"];
    }
    if([self partialContent])
    {
        [result setValue:[self partialContent] forKey:@"partialContent"];
    }
    if([self requestedRangeNotSuitable])
    {
        [result setValue:[self requestedRangeNotSuitable] forKey:@"requestedRangeNotSuitable"];
    }
    if([self other])
    {
        [result setValue:[self other] forKey:@"other"];
    }
    if([self serviceUnavailable])
    {
        [result setValue:[self serviceUnavailable] forKey:@"serviceUnavailable"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.timeStamp = [dictionary objectForKey:@"timeStamp"];
    self.ok = [dictionary objectForKey:@"ok"];
    self.badGateway = [dictionary objectForKey:@"badGateway"];
    self.badRequest = [dictionary objectForKey:@"badRequest"];
    self.forbidden = [dictionary objectForKey:@"forbidden"];
    self.found = [dictionary objectForKey:@"found"];
    self.gatewayTimeout = [dictionary objectForKey:@"gatewayTimeout"];
    self.internalServerError = [dictionary objectForKey:@"internalServerError"];
    self.movedPermanently = [dictionary objectForKey:@"movedPermanently"];
    self.notFound = [dictionary objectForKey:@"notFound"];
    self.notModified = [dictionary objectForKey:@"notModified"];
    self.partialContent = [dictionary objectForKey:@"partialContent"];
    self.requestedRangeNotSuitable = [dictionary objectForKey:@"requestedRangeNotSuitable"];
    self.other = [dictionary objectForKey:@"other"];
    self.serviceUnavailable = [dictionary objectForKey:@"serviceUnavailable"];
    return self;
}
 @end
@implementation OripvTopItem
-(id) initWithName:(NSString*) name
      hitpv:(NSNumber*)hitpv
      pv:(NSNumber*)pv
      oripv:(NSNumber*)oripv
      oripvPercent:(NSString*)oripvPercent { 
     self.name = name;               
     self.hitpv = hitpv;               
     self.pv = pv;               
     self.oripv = oripv;               
     self.oripvPercent = oripvPercent;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self hitpv])
    {
        [result setValue:[self hitpv] forKey:@"hitpv"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self oripv])
    {
        [result setValue:[self oripv] forKey:@"oripv"];
    }
    if([self oripvPercent])
    {
        [result setValue:[self oripvPercent] forKey:@"oripvPercent"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.hitpv = [dictionary objectForKey:@"hitpv"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.oripv = [dictionary objectForKey:@"oripv"];
    self.oripvPercent = [dictionary objectForKey:@"oripvPercent"];
    return self;
}
 @end
@implementation HitrationTableItem
-(id) initWithDomain:(NSString*) domain
      domainType:(NSString*)domainType
      pv:(NSNumber*)pv
      hitPv:(NSNumber*)hitPv
      oriPV:(NSNumber*)oriPV
      hitRatio:(NSString*)hitRatio { 
     self.domain = domain;               
     self.domainType = domainType;               
     self.pv = pv;               
     self.hitPv = hitPv;               
     self.oriPV = oriPV;               
     self.hitRatio = hitRatio;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self domainType])
    {
        [result setValue:[self domainType] forKey:@"domainType"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self hitPv])
    {
        [result setValue:[self hitPv] forKey:@"hitPv"];
    }
    if([self oriPV])
    {
        [result setValue:[self oriPV] forKey:@"oriPV"];
    }
    if([self hitRatio])
    {
        [result setValue:[self hitRatio] forKey:@"hitRatio"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    self.domainType = [dictionary objectForKey:@"domainType"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.hitPv = [dictionary objectForKey:@"hitPv"];
    self.oriPV = [dictionary objectForKey:@"oriPV"];
    self.hitRatio = [dictionary objectForKey:@"hitRatio"];
    return self;
}
 @end
@implementation OriBandwithDetailItem
-(id) initWithTimeStamp:(NSNumber*) timeStamp
      avgoribandwidth:(NSNumber*)avgoribandwidth { 
     self.timeStamp = timeStamp;               
     self.avgoribandwidth = avgoribandwidth;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self timeStamp])
    {
        [result setValue:[self timeStamp] forKey:@"timeStamp"];
    }
    if([self avgoribandwidth])
    {
        [result setValue:[self avgoribandwidth] forKey:@"avgoribandwidth"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.timeStamp = [dictionary objectForKey:@"timeStamp"];
    self.avgoribandwidth = [dictionary objectForKey:@"avgoribandwidth"];
    return self;
}
 @end
@implementation TotalDetalItem
-(id) initWithData:(NSObject*) data
      oriData:(NSObject*)oriData
      timeStamp:(NSNumber*)timeStamp { 
     self.data = data;               
     self.oriData = oriData;               
     self.timeStamp = timeStamp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self data])
    {
        [result setValue:[self data] forKey:@"data"];
    }
    if([self oriData])
    {
        [result setValue:[self oriData] forKey:@"oriData"];
    }
    if([self timeStamp])
    {
        [result setValue:[self timeStamp] forKey:@"timeStamp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.data = [dictionary objectForKey:@"data"];
    self.oriData = [dictionary objectForKey:@"oriData"];
    self.timeStamp = [dictionary objectForKey:@"timeStamp"];
    return self;
}
 @end
@implementation OriDiagramItem
-(id) initWithOriRatio:(NSString*) oriRatio
      avgbandwidth:(NSNumber*)avgbandwidth
      avgoribandwidth:(NSNumber*)avgoribandwidth
      timeStamp:(NSNumber*)timeStamp { 
     self.oriRatio = oriRatio;               
     self.avgbandwidth = avgbandwidth;               
     self.avgoribandwidth = avgoribandwidth;               
     self.timeStamp = timeStamp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self oriRatio])
    {
        [result setValue:[self oriRatio] forKey:@"oriRatio"];
    }
    if([self avgbandwidth])
    {
        [result setValue:[self avgbandwidth] forKey:@"avgbandwidth"];
    }
    if([self avgoribandwidth])
    {
        [result setValue:[self avgoribandwidth] forKey:@"avgoribandwidth"];
    }
    if([self timeStamp])
    {
        [result setValue:[self timeStamp] forKey:@"timeStamp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.oriRatio = [dictionary objectForKey:@"oriRatio"];
    self.avgbandwidth = [dictionary objectForKey:@"avgbandwidth"];
    self.avgoribandwidth = [dictionary objectForKey:@"avgoribandwidth"];
    self.timeStamp = [dictionary objectForKey:@"timeStamp"];
    return self;
}
 @end
@implementation OnlineStreamInfo
-(id) initWithApp:(NSString*) app
      stream:(NSString*)stream
      clientIp:(NSString*)clientIp
      serverIp:(NSString*)serverIp
      frameRate:(NSNumber*)frameRate
      frameLossRate:(NSNumber*)frameLossRate
      lastActive:(NSNumber*)lastActive
      realFps:(NSNumber*)realFps
      uploadSpeed:(NSNumber*)uploadSpeed
      videoCodecId:(NSNumber*)videoCodecId
      videoDataRate:(NSNumber*)videoDataRate
      audioCodecId:(NSNumber*)audioCodecId { 
     self.app = app;               
     self.stream = stream;               
     self.clientIp = clientIp;               
     self.serverIp = serverIp;               
     self.frameRate = frameRate;               
     self.frameLossRate = frameLossRate;               
     self.lastActive = lastActive;               
     self.realFps = realFps;               
     self.uploadSpeed = uploadSpeed;               
     self.videoCodecId = videoCodecId;               
     self.videoDataRate = videoDataRate;               
     self.audioCodecId = audioCodecId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self app])
    {
        [result setValue:[self app] forKey:@"app"];
    }
    if([self stream])
    {
        [result setValue:[self stream] forKey:@"stream"];
    }
    if([self clientIp])
    {
        [result setValue:[self clientIp] forKey:@"clientIp"];
    }
    if([self serverIp])
    {
        [result setValue:[self serverIp] forKey:@"serverIp"];
    }
    if([self frameRate])
    {
        [result setValue:[self frameRate] forKey:@"frameRate"];
    }
    if([self frameLossRate])
    {
        [result setValue:[self frameLossRate] forKey:@"frameLossRate"];
    }
    if([self lastActive])
    {
        [result setValue:[self lastActive] forKey:@"lastActive"];
    }
    if([self realFps])
    {
        [result setValue:[self realFps] forKey:@"realFps"];
    }
    if([self uploadSpeed])
    {
        [result setValue:[self uploadSpeed] forKey:@"uploadSpeed"];
    }
    if([self videoCodecId])
    {
        [result setValue:[self videoCodecId] forKey:@"videoCodecId"];
    }
    if([self videoDataRate])
    {
        [result setValue:[self videoDataRate] forKey:@"videoDataRate"];
    }
    if([self audioCodecId])
    {
        [result setValue:[self audioCodecId] forKey:@"audioCodecId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.app = [dictionary objectForKey:@"app"];
    self.stream = [dictionary objectForKey:@"stream"];
    self.clientIp = [dictionary objectForKey:@"clientIp"];
    self.serverIp = [dictionary objectForKey:@"serverIp"];
    self.frameRate = [dictionary objectForKey:@"frameRate"];
    self.frameLossRate = [dictionary objectForKey:@"frameLossRate"];
    self.lastActive = [dictionary objectForKey:@"lastActive"];
    self.realFps = [dictionary objectForKey:@"realFps"];
    self.uploadSpeed = [dictionary objectForKey:@"uploadSpeed"];
    self.videoCodecId = [dictionary objectForKey:@"videoCodecId"];
    self.videoDataRate = [dictionary objectForKey:@"videoDataRate"];
    self.audioCodecId = [dictionary objectForKey:@"audioCodecId"];
    return self;
}
 @end
@implementation OverviewTrafficDetailItem
-(id) initWithData:(NSNumber*) data
      timeStamp:(NSString*)timeStamp { 
     self.data = data;               
     self.timeStamp = timeStamp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self data])
    {
        [result setValue:[self data] forKey:@"data"];
    }
    if([self timeStamp])
    {
        [result setValue:[self timeStamp] forKey:@"timeStamp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.data = [dictionary objectForKey:@"data"];
    self.timeStamp = [dictionary objectForKey:@"timeStamp"];
    return self;
}
 @end
@implementation AreaIspbdwDetailItem
-(id) initWithArea:(NSString*) area
      isp:(NSString*)isp
      flowPercent:(NSString*)flowPercent
      pvPercent:(NSString*)pvPercent
      avgbandwidth:(NSNumber*)avgbandwidth
      flow:(NSNumber*)flow
      pv:(NSNumber*)pv
      topTimeStamp:(NSNumber*)topTimeStamp { 
     self.area = area;               
     self.isp = isp;               
     self.flowPercent = flowPercent;               
     self.pvPercent = pvPercent;               
     self.avgbandwidth = avgbandwidth;               
     self.flow = flow;               
     self.pv = pv;               
     self.topTimeStamp = topTimeStamp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self isp])
    {
        [result setValue:[self isp] forKey:@"isp"];
    }
    if([self flowPercent])
    {
        [result setValue:[self flowPercent] forKey:@"flowPercent"];
    }
    if([self pvPercent])
    {
        [result setValue:[self pvPercent] forKey:@"pvPercent"];
    }
    if([self avgbandwidth])
    {
        [result setValue:[self avgbandwidth] forKey:@"avgbandwidth"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self topTimeStamp])
    {
        [result setValue:[self topTimeStamp] forKey:@"topTimeStamp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.area = [dictionary objectForKey:@"area"];
    self.isp = [dictionary objectForKey:@"isp"];
    self.flowPercent = [dictionary objectForKey:@"flowPercent"];
    self.pvPercent = [dictionary objectForKey:@"pvPercent"];
    self.avgbandwidth = [dictionary objectForKey:@"avgbandwidth"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.topTimeStamp = [dictionary objectForKey:@"topTimeStamp"];
    return self;
}
 @end
@implementation AreaIspItem
-(id) initWithDescription:(NSString*) descriptionValue
      code:(NSString*)code { 
     self.descriptionValue = descriptionValue;               
     self.code = code;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.code = [dictionary objectForKey:@"code"];
    return self;
}
 @end
@implementation WafBlackRuleModel
-(id) initWithId:(NSString*) idValue
      matchOp:(NSNumber*)matchOp
      val:(NSString*)val
      valZh:(NSString*)valZh
      enable:(NSNumber*)enable
      action:(Action*)action
      updateTime:(NSString*)updateTime { 
     self.idValue = idValue;               
     self.matchOp = matchOp;               
     self.val = val;               
     self.valZh = valZh;               
     self.enable = enable;               
     self.action = action;               
     self.updateTime = updateTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self matchOp])
    {
        [result setValue:[self matchOp] forKey:@"matchOp"];
    }
    if([self val])
    {
        [result setValue:[self val] forKey:@"val"];
    }
    if([self valZh])
    {
        [result setValue:[self valZh] forKey:@"valZh"];
    }
    if([self enable])
    {
        [result setValue:[self enable] forKey:@"enable"];
    }
    if([self action])
    {
        [result setValue:[[self action] dictionary]forKey:@"action"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.matchOp = [dictionary objectForKey:@"matchOp"];
    self.val = [dictionary objectForKey:@"val"];
    self.valZh = [dictionary objectForKey:@"valZh"];
    self.enable = [dictionary objectForKey:@"enable"];
    self.action = [[Action alloc]initWithDic:[dictionary objectForKey:@"action"]];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    return self;
}
 @end
@implementation AreaData
-(id) initWithArea:(NSString*) area
      totalPv:(NSNumber*)totalPv
      location:(NSArray<NSString*>*)location
      ipDatas:(NSArray<IpData*>*)ipDatas { 
     self.area = area;               
     self.totalPv = totalPv;               
     self.location = location;               
     self.ipDatas = ipDatas;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self area])
    {
        [result setValue:[self area] forKey:@"area"];
    }
    if([self totalPv])
    {
        [result setValue:[self totalPv] forKey:@"totalPv"];
    }
    if([self location])
    {
        [result setValue:[self location] forKey:@"location"];
    }
    if([self ipDatas])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self ipDatas] count]; i++) {
            IpData* item = [[self ipDatas] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ipDatas"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.area = [dictionary objectForKey:@"area"];
    self.totalPv = [dictionary objectForKey:@"totalPv"];
    self.location = [dictionary objectForKey:@"location"];
    NSArray* ipDatasArray = [dictionary objectForKey:@"ipDatas"];
    if(ipDatasArray&&![ipDatasArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipDatasArray count];i++)
        {
            IpData* item = [[IpData alloc]initWithDic:[ipDatasArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.ipDatas = propertyArray;
    }
    return self;
}
 @end
@implementation AccessUserlogModel
-(id) initWithDomain:(NSString*) domain
      urls:(NSArray<DomainlogModel*>*)urls { 
     self.domain = domain;               
     self.urls = urls;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self urls])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self urls] count]; i++) {
            DomainlogModel* item = [[self urls] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"urls"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* urlsArray = [dictionary objectForKey:@"urls"];
    if(urlsArray&&![urlsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [urlsArray count];i++)
        {
            DomainlogModel* item = [[DomainlogModel alloc]initWithDic:[urlsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.urls = propertyArray;
    }
    return self;
}
 @end
@implementation GeoArea
-(id) initWithLabel:(NSString*) label
      value:(NSString*)value
      children:(NSArray<GeoArea*>*)children { 
     self.label = label;               
     self.value = value;               
     self.children = children;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self label])
    {
        [result setValue:[self label] forKey:@"label"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    if([self children])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self children] count]; i++) {
            GeoArea* item = [[self children] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"children"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.label = [dictionary objectForKey:@"label"];
    self.value = [dictionary objectForKey:@"value"];
    NSArray* childrenArray = [dictionary objectForKey:@"children"];
    if(childrenArray&&![childrenArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [childrenArray count];i++)
        {
            GeoArea* item = [[GeoArea alloc]initWithDic:[childrenArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.children = propertyArray;
    }
    return self;
}
 @end
@implementation BandTrafficWithAreaDataItem
-(id) initWithDomain:(NSString*) domain
      data:(NSArray<DomainBandAreaTrafficDataItem*>*)data { 
     self.domain = domain;               
     self.data = data;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self data])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self data] count]; i++) {
            DomainBandAreaTrafficDataItem* item = [[self data] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"data"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* dataArray = [dictionary objectForKey:@"data"];
    if(dataArray&&![dataArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataArray count];i++)
        {
            DomainBandAreaTrafficDataItem* item = [[DomainBandAreaTrafficDataItem alloc]initWithDic:[dataArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.data = propertyArray;
    }
    return self;
}
 @end
@implementation BandTrafficDataItem
-(id) initWithDomain:(NSString*) domain
      data:(NSArray<DomainBandTrafficDataItem*>*)data { 
     self.domain = domain;               
     self.data = data;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self data])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self data] count]; i++) {
            DomainBandTrafficDataItem* item = [[self data] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"data"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* dataArray = [dictionary objectForKey:@"data"];
    if(dataArray&&![dataArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataArray count];i++)
        {
            DomainBandTrafficDataItem* item = [[DomainBandTrafficDataItem alloc]initWithDic:[dataArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.data = propertyArray;
    }
    return self;
}
 @end
@implementation ListDomainItemByFilter
-(id) initWithCname:(NSString*) cname
      descriptionValue:(NSString*)descriptionValue
      domain:(NSString*)domain
      created:(NSString*)created
      modified:(NSString*)modified
      status:(NSString*)status
      wafStatus:(NSString*)wafStatus
      type:(NSString*)type
      auditStatus:(NSString*)auditStatus
      accelerateRegion:(NSString*)accelerateRegion
      tags:(NSArray<Tag*>*)tags { 
     self.cname = cname;               
     self.descriptionValue = descriptionValue;               
     self.domain = domain;               
     self.created = created;               
     self.modified = modified;               
     self.status = status;               
     self.wafStatus = wafStatus;               
     self.type = type;               
     self.auditStatus = auditStatus;               
     self.accelerateRegion = accelerateRegion;               
     self.tags = tags;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cname])
    {
        [result setValue:[self cname] forKey:@"cname"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self created])
    {
        [result setValue:[self created] forKey:@"created"];
    }
    if([self modified])
    {
        [result setValue:[self modified] forKey:@"modified"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self wafStatus])
    {
        [result setValue:[self wafStatus] forKey:@"wafStatus"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self auditStatus])
    {
        [result setValue:[self auditStatus] forKey:@"auditStatus"];
    }
    if([self accelerateRegion])
    {
        [result setValue:[self accelerateRegion] forKey:@"accelerateRegion"];
    }
    if([self tags])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self tags] count]; i++) {
            Tag* item = [[self tags] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tags"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cname = [dictionary objectForKey:@"cname"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.domain = [dictionary objectForKey:@"domain"];
    self.created = [dictionary objectForKey:@"created"];
    self.modified = [dictionary objectForKey:@"modified"];
    self.status = [dictionary objectForKey:@"status"];
    self.wafStatus = [dictionary objectForKey:@"wafStatus"];
    self.type = [dictionary objectForKey:@"type"];
    self.auditStatus = [dictionary objectForKey:@"auditStatus"];
    self.accelerateRegion = [dictionary objectForKey:@"accelerateRegion"];
    NSArray* tagsArray = [dictionary objectForKey:@"tags"];
    if(tagsArray&&![tagsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagsArray count];i++)
        {
            Tag* item = [[Tag alloc]initWithDic:[tagsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.tags = propertyArray;
    }
    return self;
}
 @end
@implementation BackSourceInfo
-(id) initWithIps:(NSArray<IpSourceInfo*>*) ips
      domain:(NSArray<DomainSourceInfo*>*)domain
      ossSource:(NSString*)ossSource { 
     self.ips = ips;               
     self.domain = domain;               
     self.ossSource = ossSource;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ips])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self ips] count]; i++) {
            IpSourceInfo* item = [[self ips] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ips"];
    }
    if([self domain])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self domain] count]; i++) {
            DomainSourceInfo* item = [[self domain] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domain"];
    }
    if([self ossSource])
    {
        [result setValue:[self ossSource] forKey:@"ossSource"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* ipsArray = [dictionary objectForKey:@"ips"];
    if(ipsArray&&![ipsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipsArray count];i++)
        {
            IpSourceInfo* item = [[IpSourceInfo alloc]initWithDic:[ipsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.ips = propertyArray;
    }
    NSArray* domainArray = [dictionary objectForKey:@"domain"];
    if(domainArray&&![domainArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainArray count];i++)
        {
            DomainSourceInfo* item = [[DomainSourceInfo alloc]initWithDic:[domainArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.domain = propertyArray;
    }
    self.ossSource = [dictionary objectForKey:@"ossSource"];
    return self;
}
 @end
@implementation SnowLeopardBackSourceInfo
-(id) initWithIps:(NSArray<SnowLeopardIpSourceInfo*>*) ips
      domain:(NSArray<SnowLeopardDomainSourceInfo*>*)domain
      ossSource:(NSString*)ossSource { 
     self.ips = ips;               
     self.domain = domain;               
     self.ossSource = ossSource;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ips])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self ips] count]; i++) {
            SnowLeopardIpSourceInfo* item = [[self ips] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ips"];
    }
    if([self domain])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self domain] count]; i++) {
            SnowLeopardDomainSourceInfo* item = [[self domain] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domain"];
    }
    if([self ossSource])
    {
        [result setValue:[self ossSource] forKey:@"ossSource"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* ipsArray = [dictionary objectForKey:@"ips"];
    if(ipsArray&&![ipsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipsArray count];i++)
        {
            SnowLeopardIpSourceInfo* item = [[SnowLeopardIpSourceInfo alloc]initWithDic:[ipsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.ips = propertyArray;
    }
    NSArray* domainArray = [dictionary objectForKey:@"domain"];
    if(domainArray&&![domainArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainArray count];i++)
        {
            SnowLeopardDomainSourceInfo* item = [[SnowLeopardDomainSourceInfo alloc]initWithDic:[domainArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.domain = propertyArray;
    }
    self.ossSource = [dictionary objectForKey:@"ossSource"];
    return self;
}
 @end
@implementation SetSourceBody
-(id) initWithSourceType:(NSString*) sourceType
      backSourceType:(NSString*)backSourceType
      ipSource:(NSArray<IpSourceInfo*>*)ipSource
      domainSource:(NSArray<DomainSourceInfo*>*)domainSource
      ossSource:(NSString*)ossSource
      defaultSourceHost:(NSString*)defaultSourceHost { 
     self.sourceType = sourceType;               
     self.backSourceType = backSourceType;               
     self.ipSource = ipSource;               
     self.domainSource = domainSource;               
     self.ossSource = ossSource;               
     self.defaultSourceHost = defaultSourceHost;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self sourceType])
    {
        [result setValue:[self sourceType] forKey:@"sourceType"];
    }
    if([self backSourceType])
    {
        [result setValue:[self backSourceType] forKey:@"backSourceType"];
    }
    if([self ipSource])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self ipSource] count]; i++) {
            IpSourceInfo* item = [[self ipSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ipSource"];
    }
    if([self domainSource])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self domainSource] count]; i++) {
            DomainSourceInfo* item = [[self domainSource] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domainSource"];
    }
    if([self ossSource])
    {
        [result setValue:[self ossSource] forKey:@"ossSource"];
    }
    if([self defaultSourceHost])
    {
        [result setValue:[self defaultSourceHost] forKey:@"defaultSourceHost"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sourceType = [dictionary objectForKey:@"sourceType"];
    self.backSourceType = [dictionary objectForKey:@"backSourceType"];
    NSArray* ipSourceArray = [dictionary objectForKey:@"ipSource"];
    if(ipSourceArray&&![ipSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipSourceArray count];i++)
        {
            IpSourceInfo* item = [[IpSourceInfo alloc]initWithDic:[ipSourceArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.ipSource = propertyArray;
    }
    NSArray* domainSourceArray = [dictionary objectForKey:@"domainSource"];
    if(domainSourceArray&&![domainSourceArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainSourceArray count];i++)
        {
            DomainSourceInfo* item = [[DomainSourceInfo alloc]initWithDic:[domainSourceArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.domainSource = propertyArray;
    }
    self.ossSource = [dictionary objectForKey:@"ossSource"];
    self.defaultSourceHost = [dictionary objectForKey:@"defaultSourceHost"];
    return self;
}
 @end
@implementation RefreshTask
-(id) initWithCreateDate:(NSString*) createDate
      failed:(NSNumber*)failed
      success:(NSNumber*)success
      taskId:(NSString*)taskId
      idValue:(NSNumber*)idValue
      retryStatus:(NSString*)retryStatus
      taskStatus:(NSString*)taskStatus
      taskType:(NSString*)taskType
      urlTasks:(NSArray<UrlTask*>*)urlTasks { 
     self.createDate = createDate;               
     self.failed = failed;               
     self.success = success;               
     self.taskId = taskId;               
     self.idValue = idValue;               
     self.retryStatus = retryStatus;               
     self.taskStatus = taskStatus;               
     self.taskType = taskType;               
     self.urlTasks = urlTasks;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self createDate])
    {
        [result setValue:[self createDate] forKey:@"createDate"];
    }
    if([self failed])
    {
        [result setValue:[self failed] forKey:@"failed"];
    }
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self retryStatus])
    {
        [result setValue:[self retryStatus] forKey:@"retryStatus"];
    }
    if([self taskStatus])
    {
        [result setValue:[self taskStatus] forKey:@"taskStatus"];
    }
    if([self taskType])
    {
        [result setValue:[self taskType] forKey:@"taskType"];
    }
    if([self urlTasks])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self urlTasks] count]; i++) {
            UrlTask* item = [[self urlTasks] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"urlTasks"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.createDate = [dictionary objectForKey:@"createDate"];
    self.failed = [dictionary objectForKey:@"failed"];
    self.success = [dictionary objectForKey:@"success"];
    self.taskId = [dictionary objectForKey:@"taskId"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.retryStatus = [dictionary objectForKey:@"retryStatus"];
    self.taskStatus = [dictionary objectForKey:@"taskStatus"];
    self.taskType = [dictionary objectForKey:@"taskType"];
    NSArray* urlTasksArray = [dictionary objectForKey:@"urlTasks"];
    if(urlTasksArray&&![urlTasksArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [urlTasksArray count];i++)
        {
            UrlTask* item = [[UrlTask alloc]initWithDic:[urlTasksArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.urlTasks = propertyArray;
    }
    return self;
}
 @end
@implementation StatisticsTopUrlData
-(id) initWithCount:(NSNumber*) count
      urls:(NSArray<StatisticsTopUrlItem*>*)urls { 
     self.count = count;               
     self.urls = urls;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self count])
    {
        [result setValue:[self count] forKey:@"count"];
    }
    if([self urls])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self urls] count]; i++) {
            StatisticsTopUrlItem* item = [[self urls] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"urls"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.count = [dictionary objectForKey:@"count"];
    NSArray* urlsArray = [dictionary objectForKey:@"urls"];
    if(urlsArray&&![urlsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [urlsArray count];i++)
        {
            StatisticsTopUrlItem* item = [[StatisticsTopUrlItem alloc]initWithDic:[urlsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.urls = propertyArray;
    }
    return self;
}
 @end
@implementation StatisticsData
-(id) initWithStartTime:(NSString*) startTime
      endTime:(NSString*)endTime
      domain:(NSString*)domain
      dataItemList:(NSArray<StatisticsDataItem*>*)dataItemList { 
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.domain = domain;               
     self.dataItemList = dataItemList;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self dataItemList])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self dataItemList] count]; i++) {
            StatisticsDataItem* item = [[self dataItemList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"dataItemList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* dataItemListArray = [dictionary objectForKey:@"dataItemList"];
    if(dataItemListArray&&![dataItemListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataItemListArray count];i++)
        {
            StatisticsDataItem* item = [[StatisticsDataItem alloc]initWithDic:[dataItemListArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.dataItemList = propertyArray;
    }
    return self;
}
 @end
@implementation StatisticsTopIpData
-(id) initWithCount:(NSNumber*) count
      ips:(NSArray<StatisticsTopIpItem*>*)ips { 
     self.count = count;               
     self.ips = ips;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self count])
    {
        [result setValue:[self count] forKey:@"count"];
    }
    if([self ips])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self ips] count]; i++) {
            StatisticsTopIpItem* item = [[self ips] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ips"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.count = [dictionary objectForKey:@"count"];
    NSArray* ipsArray = [dictionary objectForKey:@"ips"];
    if(ipsArray&&![ipsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ipsArray count];i++)
        {
            StatisticsTopIpItem* item = [[StatisticsTopIpItem alloc]initWithDic:[ipsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.ips = propertyArray;
    }
    return self;
}
 @end
@implementation StatisticsWithAreaGroupDetail
-(id) initWithStartTime:(NSString*) startTime
      endTime:(NSString*)endTime
      data:(NSArray<StatisticsWithAreaGroupDetailItem*>*)data { 
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.data = data;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self data])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self data] count]; i++) {
            StatisticsWithAreaGroupDetailItem* item = [[self data] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"data"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    NSArray* dataArray = [dictionary objectForKey:@"data"];
    if(dataArray&&![dataArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataArray count];i++)
        {
            StatisticsWithAreaGroupDetailItem* item = [[StatisticsWithAreaGroupDetailItem alloc]initWithDic:[dataArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.data = propertyArray;
    }
    return self;
}
 @end
@implementation DomainsLog
-(id) initWithDomain:(NSString*) domain
      domainLogs:(NSArray<DomainLog*>*)domainLogs { 
     self.domain = domain;               
     self.domainLogs = domainLogs;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self domain])
    {
        [result setValue:[self domain] forKey:@"domain"];
    }
    if([self domainLogs])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self domainLogs] count]; i++) {
            DomainLog* item = [[self domainLogs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"domainLogs"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.domain = [dictionary objectForKey:@"domain"];
    NSArray* domainLogsArray = [dictionary objectForKey:@"domainLogs"];
    if(domainLogsArray&&![domainLogsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [domainLogsArray count];i++)
        {
            DomainLog* item = [[DomainLog alloc]initWithDic:[domainLogsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.domainLogs = propertyArray;
    }
    return self;
}
 @end
@implementation TopNRespItem
-(id) initWithTopKey:(NSString*) topKey
      topValue:(NSObject*)topValue
      topDataValue:(NSNumber*)topDataValue
      topDataPercent:(NSString*)topDataPercent
      details:(NSArray<TopNRespItemDetail*>*)details { 
     self.topKey = topKey;               
     self.topValue = topValue;               
     self.topDataValue = topDataValue;               
     self.topDataPercent = topDataPercent;               
     self.details = details;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self topKey])
    {
        [result setValue:[self topKey] forKey:@"topKey"];
    }
    if([self topValue])
    {
        [result setValue:[self topValue] forKey:@"topValue"];
    }
    if([self topDataValue])
    {
        [result setValue:[self topDataValue] forKey:@"topDataValue"];
    }
    if([self topDataPercent])
    {
        [result setValue:[self topDataPercent] forKey:@"topDataPercent"];
    }
    if([self details])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self details] count]; i++) {
            TopNRespItemDetail* item = [[self details] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"details"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topKey = [dictionary objectForKey:@"topKey"];
    self.topValue = [dictionary objectForKey:@"topValue"];
    self.topDataValue = [dictionary objectForKey:@"topDataValue"];
    self.topDataPercent = [dictionary objectForKey:@"topDataPercent"];
    NSArray* detailsArray = [dictionary objectForKey:@"details"];
    if(detailsArray&&![detailsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [detailsArray count];i++)
        {
            TopNRespItemDetail* item = [[TopNRespItemDetail alloc]initWithDic:[detailsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.details = propertyArray;
    }
    return self;
}
 @end
@implementation CodeTypeItem
-(id) initWithCode:(NSString*) code
      count:(NSNumber*)count
      rank:(NSNumber*)rank
      percent:(NSString*)percent
      details:(NSArray<CodeTypeDetailItem*>*)details { 
     self.code = code;               
     self.count = count;               
     self.rank = rank;               
     self.percent = percent;               
     self.details = details;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self count])
    {
        [result setValue:[self count] forKey:@"count"];
    }
    if([self rank])
    {
        [result setValue:[self rank] forKey:@"rank"];
    }
    if([self percent])
    {
        [result setValue:[self percent] forKey:@"percent"];
    }
    if([self details])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self details] count]; i++) {
            CodeTypeDetailItem* item = [[self details] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"details"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.code = [dictionary objectForKey:@"code"];
    self.count = [dictionary objectForKey:@"count"];
    self.rank = [dictionary objectForKey:@"rank"];
    self.percent = [dictionary objectForKey:@"percent"];
    NSArray* detailsArray = [dictionary objectForKey:@"details"];
    if(detailsArray&&![detailsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [detailsArray count];i++)
        {
            CodeTypeDetailItem* item = [[CodeTypeDetailItem alloc]initWithDic:[detailsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.details = propertyArray;
    }
    return self;
}
 @end
@implementation OverviewTrafficItem
-(id) initWithAvgbandwidth:(NSNumber*) avgbandwidth
      flow:(NSNumber*)flow
      pv:(NSNumber*)pv
      maxavgbandwidthtime:(NSString*)maxavgbandwidthtime
      details:(NSArray<OverviewTrafficDetailItem*>*)details { 
     self.avgbandwidth = avgbandwidth;               
     self.flow = flow;               
     self.pv = pv;               
     self.maxavgbandwidthtime = maxavgbandwidthtime;               
     self.details = details;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self avgbandwidth])
    {
        [result setValue:[self avgbandwidth] forKey:@"avgbandwidth"];
    }
    if([self flow])
    {
        [result setValue:[self flow] forKey:@"flow"];
    }
    if([self pv])
    {
        [result setValue:[self pv] forKey:@"pv"];
    }
    if([self maxavgbandwidthtime])
    {
        [result setValue:[self maxavgbandwidthtime] forKey:@"maxavgbandwidthtime"];
    }
    if([self details])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self details] count]; i++) {
            OverviewTrafficDetailItem* item = [[self details] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"details"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.avgbandwidth = [dictionary objectForKey:@"avgbandwidth"];
    self.flow = [dictionary objectForKey:@"flow"];
    self.pv = [dictionary objectForKey:@"pv"];
    self.maxavgbandwidthtime = [dictionary objectForKey:@"maxavgbandwidthtime"];
    NSArray* detailsArray = [dictionary objectForKey:@"details"];
    if(detailsArray&&![detailsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [detailsArray count];i++)
        {
            OverviewTrafficDetailItem* item = [[OverviewTrafficDetailItem alloc]initWithDic:[detailsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.details = propertyArray;
    }
    return self;
}
 @end
@implementation OribandwidthTopItem
-(id) initWithName:(NSString*) name
      total:(NSNumber*)total
      details:(NSArray<OriBandwithDetailItem*>*)details { 
     self.name = name;               
     self.total = total;               
     self.details = details;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self total])
    {
        [result setValue:[self total] forKey:@"total"];
    }
    if([self details])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self details] count]; i++) {
            OriBandwithDetailItem* item = [[self details] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"details"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.total = [dictionary objectForKey:@"total"];
    NSArray* detailsArray = [dictionary objectForKey:@"details"];
    if(detailsArray&&![detailsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [detailsArray count];i++)
        {
            OriBandwithDetailItem* item = [[OriBandwithDetailItem alloc]initWithDic:[detailsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.details = propertyArray;
    }
    return self;
}
 @end
 
 


